package com.bidevalution.dao.mapper;

import com.bidevalution.dao.entity.BeSectionEnterprise;
import com.bidevalution.dao.entity.BeSectionInfo;
import com.bidevalution.dao.entity.FileInfo;
import com.bidevalution.dao.entity.FileStructure;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author huyiqi
 * @date 2019/12/7
 */
public interface ViewFileMapper {

    /* ******************获取结构****************** */

    /**
     * 获取商务标结构（项目结构）
     * @param projectId 项目projectID
     * @return 返回项目结构
     */
    List<FileStructure> getBusinessStruct(@Param("projectId") String projectId);
    /**
     * 获取技术标结构
     * @param projectId 项目projectID
     * @return 返回技术标结构
     */
    List<FileStructure> getTechnologyStruct(@Param("projectId") String projectId);
    /**
     * 获取资信标结构
     * @param projectId 项目projectID
     * @return 返回资信标结构
     */
    List<FileStructure> getCompositeStruct(@Param("projectId") String projectId);
    /**
     * 获取业绩结构
     * @param projectId 项目projectID
     * @return 返回业绩结构
     */
    List<FileStructure> getQualificateStruct(@Param("projectId") String projectId);

    List<FileStructure> getZbOtherStruct(@Param("projectId") String projectId);

    List<FileStructure> getTbOtherStruct(@Param("projectId") String projectId, @Param("enterpriseId") String enterpriseId);

    /* ******************获取附件列表****************** */
    /**
     * 招标商务标
     * @param projectId 项目id
     * @param nodeId 节点id
     * @return 返回招标商务标附件列表
     */
    List<FileInfo> getZbBusinessFiles(@Param("projectId") String projectId, @Param("nodeId") String nodeId);
    /**
     * 投标商务标
     * @param projectId 项目id
     * @param nodeId 节点id
     * @param enterpriseId 企业id
     * @return 返回投标商务标附件列表
     */
    List<FileInfo> getTbBusinessFiles(@Param("projectId") String projectId, @Param("nodeId") String nodeId, @Param("enterpriseId") String enterpriseId);
    /**
     * 招标其他附件
     * @param projectId 项目id
     * @return 返回招标其他附件
     */
    List<FileInfo> getZbOtherFiles(@Param("projectId") String projectId, @Param("fileId") String fileId);
    /**
     * 投标其他附件
     * @param projectId 项目id
     * @param enterpriseId 企业id
     * @return 返回投标其他附件
     */
    List<FileInfo> getTbOtherFiles(@Param("projectId") String projectId, @Param("enterpriseId") String enterpriseId, @Param("fileId") String fileId);
    /**
     * 投标技术标
     * @param projectId 项目id
     * @param nodeId 节点id
     * @param enterpriseId 企业id
     * @return 返回投标技术标附件列表
     */
    List<FileInfo> getTbTechnologyFiles(@Param("projectId") String projectId, @Param("nodeId") String nodeId, @Param("enterpriseId") String enterpriseId);
    /**
     * 投标资信标
     * @param projectId 项目id
     * @param nodeId 节点id
     * @param enterpriseId 企业id
     * @return 返回投标资信标附件列表
     */
    List<FileInfo> getTbCompositeFiles(@Param("projectId") String projectId, @Param("nodeId") String nodeId, @Param("enterpriseId") String enterpriseId);
    /**
     * 投标业绩
     * @param projectId 项目id
     * @param nodeId 节点id
     * @param enterpriseId 企业id
     * @return 返回投标业绩附件列表
     */
    List<FileInfo> getTbQualificateFiles(@Param("projectId") String projectId, @Param("nodeId") String nodeId, @Param("enterpriseId") String enterpriseId);

    List<BeSectionEnterprise> getEnterpriseList(@Param("sectionId") String sectionId, @Param("isHidden") boolean isHidden);
}
